Today's IT resource structures are composed of a large number of heterogeneous, distributed resources. The key to building on demand IT structures is to provide means for managing these resources through a common, standards-based interface and to provide standards-based interoperability between resources.
The Web Services Resource Framework (WS-RF) introduces a technology to encapsulate each kind of resource behind web services interfaces. In particular, WS-RF concentrates on the stateful characteristics of IT resources. For example, the state of an operating system resource might include the current number of processes running in the system, or the number of logged in users.
In accordance to the WS-RF, all stateful resources within an IT environment are managed via web services interfaces, i.e. clients invoke web service calls on a web service endpoint, which are then mapped to particular stateful resources (see FIG. 1). Within the WS-RF set of specifications, several standard web service interfaces in the form of web service portTypes are defined that can be provided by said web service front-ends of stateful resources. These standard portTypes are concerned, for example, with resource lifetime management, resource state queries, or notification support.
The state of resources in terms of the WS-RF is stored in so-called resource properties. The sum of all resource properties for a specific resource is contained in the ResourcePropertyDocument—an XML document that can be retrieved via standard web service calls defined by the WS-RF.
All resources in the IT resource structure are modelled as WS-Resources according to the WS-Resource framework, i.e. resources are encapsulated behind stateful web services interfaces. Resources can include physical IT resources such as computers or storage, logical software resources such as operating systems or web servers, or logical business related resources such as customers, offers, or whole on demand service environments.
Resources in such an on demand environment are related to each other. These relationships are modeled as stateful web services relationships, which store references to all stateful web services taking part in the relationship. Relationships can be navigated. Hence, an on demand environment can be seen as a graph. The most common form of an environment is a tree topology which originates at a logical on demand service (ODS) resources. Via relationships the tree can be traversed down to the leaves, which will most commonly be physical resources. In general, an on demand environment can have any topology including bi-directional relationships and cyclic relationships. Such a graph can also be navigated using the appropriate graph algorithms.
Initial Problem
Today's IT environments are composed of dozens or hundreds of heterogeneous resources. In order to clone a complex IT environment it is necessary to acquire the configurational state of the overall system (i.e. system topology, number and type of used resources, configuration state of individual resources, relationships between resources, etc.), and then use the obtained data to instantiate an equal IT system with a likewise layout.
While it is possible to manage the configurational state of individual resources via resource type or vendor specific interfaces, it is not possible to manage the configuration of the overall system via common, standards-based interfaces.
IT environments can consist of numerous different types of resources that are hosted by different back-ends. Even though techniques such as WS-RF provide means for communicating with these back-ends in a standardized way, the problem of configuration management is not covered by WS-RF or other stateful web service specifications. As a result, exploiters of resources have to manually deal with configuration management on a per-resource basis. Furthermore, no standard means for relationship management between the configurations of individual resources are provided. Such relationships between configurations, however, would be required in order to provide a system-wide configurational view.
Prior Art
In state-of-the art IT resource structure it is possible to store configuration data in databases in a per-resource fashion. The stored data can later be used to bring a resource back into a defined state. The state of software objects, or the configuration of a software object respectively, can also be made persistent in object-relational databases.
WS-RF introduces the notion of resource properties to reflect the state of resources. The combination of all resource properties of a particular resource is contained in the so-called ResourcePropertyDocument. This XML document can be retrieved using web service calls and can be stored in an XML database.
Even though it is possible to store configuration data for individual resources, and to restore a resource's configuration in traditional IT infrastructures, no common means exists to perform configuration management across all resources in a service-oriented stateful web services environment. Each type of resource provides a proprietary, type-specific configuration management interface.
The concept of the ResourcePropertyDocument for WS-RF compliant stateful resources does not suffice the needs for configuration management. Firstly, the data contained in such a ResourcePropertyDocument might not be related to a resource's configuration (e.g. a CPU core temperature property of a computer resource is not related to its configuration, but is rather influenced by the current load or environment temperature). Secondly, data that reflects a resource's configuration might not be exposed via the ResourcePropertyDocument.
In addition, no mechanisms exist to correlate configuration data of individual resources to form a system-wide configuration record. All the aspects just mentioned needed to be resolved in order to allow for the cloning of an IT system in an automated fashion.
Objects of the Invention
The present invention provides a method, system and computer program product for automatically cloning existing IT resource structures in a service-oriented, stateful web services environment avoiding the disadvantages of the prior art.